%       Copyright 2012 Átila Camurça <camurca.home@gmail.com>
%       Copyright 2012 Darlildo Lima <darlildo.cefetce@gmail.com>
%       
%       This program is free software; you can redistribute it and/or modify
%       it under the terms of the GNU General Public License as published by
%       the Free Software Foundation; either version 2 of the License, or
%       (at your option) any later version.
%       
%       This program is distributed in the hope that it will be useful,
%       but WITHOUT ANY WARRANTY; without even the implied warranty of
%       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%       GNU General Public License for more details.
%       
%       You should have received a copy of the GNU General Public License
%       along with this program; if not, write to the Free Software
%       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
%       MA 02110-1301, USA.
%

\section{Introdução}

\subsection{Primeiros passos}
\begin{frame}\frametitle{Primeiros passos}\framesubtitle{Introdução}
  Existem várias formas de contribuir com software livre. Temos:
  \begin{itemize}
    \item Programação
    \item Teste
    \item Documentação
    \item Ciar website
    \item \textbf{Tradução}
  \end{itemize}

  \medskip

  A tradução de um aplicativo é uma maneira simples e bastante útil
  de contribuição. De fato um \textbf{conhecimento} básico trará um
  \textbf{reconhecimento} considerável no mundo Linux.
\end{frame}

\begin{frame}\frametitle{Primeiros passos}\framesubtitle{Primeiros passos}
% TODO: verificar se arquivos .po são realmente somente para ambiente GTK.
  A tradução de aplicativos livres é feita através de arquivos \textbf{.po} em
  ambiente GTK (utilizado na plataforma GNOME), e \textbf{.ts} em ambiente Qt
  (utilizado na plataforma KDE).

  \bigskip

  Daremos ênfase maior para tradução de arquivos \textbf{.po} sendo ela
  utilizada por distribuições bastante conhecidas: Ubuntu, Debian.
\end{frame}

\begin{frame}\frametitle{Configuração inicial}\framesubtitle{Primeiros passos}
  É muito importante conhecer a parte inicial do processo de tradução, isto é,
  como a partir de um arquivo de tradução vazio (\textbf{.pot}) podemos fazer
  com que ele se torne um arquivo \textbf{.po} válido.

  \bigskip

  Vejamos um exemplo retirado da tradução do aplicativo \textbf{Gaupol (Editor
  de Legendas)}:
\end{frame}

\begin{frame}[t]\frametitle{Configuração Inicial}\framesubtitle{Primeiros passos}
\footnotesize{\texttt{\# Brazilian Portuguese translation for Gaupol package.\\
\# This file is distributed under the same license as the Gaupol package.\\
\# Átila Camurça <camurca.home@gmail.com>, 2011.\\
\# Darlildo Lima <darlildo.cefetce@gmail.com>, 2011.\\
\# \\
msgid "\smallskip"\\
msgstr "\smallskip"\\
"Project-Id-Version: Gaupol 0.17.1$ \backslash $n"\\
"Report-Msgid-Bugs-To: $ \backslash $n"\\
"POT-Creation-Date: 2010-12-11 21:21+0200$ \backslash $n"\\
"PO-Revision-Date: 2011-04-08 18:47-0300$ \backslash $n"\\
"Last-Translator: Átila Camurça <camurca.home@gmail.com>$ \backslash $n"\\
"Language-Team: Brazilian Portuguese <comsolid3@googlegroups.com>$ \backslash $n"\\
"Language: pt-BR$ \backslash $n"\\
"MIME-Version: 1.0$ \backslash $n"\\
"Content-Type: text/plain; charset=UTF-8$ \backslash $n"\\
"Content-Transfer-Encoding: 8bit$ \backslash $n"\\
"Plural-Forms: nplurals=2; plural=n != 1;$ \backslash $n"
}}
\end{frame}

\begin{frame}\frametitle{Estrutura de um arquivo .po}\framesubtitle{Primeiros passos}
  Depois do cabeçalho temos apenas três tipos de estruturas. São elas:
  \begin{description}
    \item[\#] Comentários.
    \item[msgid] Strings para tradução.
    \item[msgstr] Strings traduzidas.
  \end{description}

  \medskip

  Cada \textit{msgid} possui uma \textit{msgstr} correspondente que deve estar logo
  abaixo. Neles podemos ter quebra de linha, formas no plural, parâmetros que serão
  substituídos dinamicamente, entre outros.
\end{frame}

\begin{frame}\frametitle{Estrutura de um arquivo .po}\framesubtitle{Primeiros passos}
  É possível contextualizar os comentários, tornando-os úteis para certos tipos de
  funções. Para isso adicionamos certos caracteres ao comentário. São eles:
  \begin{description}
    \item[\#:] indica o arquivo onde a String é utilizada e qual a linha.
    \item[\#.] indica o contexto da tradução.
    \item[\#,] indica que a String possui parâmetros, e indica a linguagem.
    \item[\#, fuzzy] seguido da palavra \texttt{fuzzy} indica que o tradutor
    não tem certeza da tradução, e que ela deve ser revisada antes de ser usada.
  \end{description}

  \medskip

  Existe ainda uma forma de traduzir palavras no singular e no plural. Para isso
  é usado o \texttt{msgid}, logo abaixo o \texttt{msgid\b{ }plural}. Depois temos
  um \texttt{msgstr[0]} e um \texttt{msgstr[1]}.
\end{frame}

\subsection{Softwares de tradução}
\begin{frame}\frametitle{Softwares de tradução}\framesubtitle{Introdução}
  É claro que utilizar um editor de texto simples, como o \textbf{gEdit}, pode ser
  bastante trabalhoso. Para isso temos alguns aplicativos que nos ajudam no
  processo de tradução. São eles:

  \begin{itemize}
    \item poedit (.po)
    \item Gtranslator (.po)
    \item Qt Linguist (.ts)
  \end{itemize}
\end{frame}

\begin{frame}[t]\frametitle{poedit}\framesubtitle{Softwares de tradução}
% descrição, logo, screenshot
  \begin{figure}
  \includegraphics[scale=0.9]{img/poedit.png}
  \caption{poedit - Editor de Arquivos de Tradução}
  \end{figure}

  O poedit é um editor de traduções fácil de usar.

  \medskip

  \begin{description}
    \item[website] \url{http://www.poedit.net}
    \item[autor] Vaclav Slavik
    \item[características] reorganiza linhas não-traduzidas em cima.
  \end{description}
\end{frame}

\begin{frame}\frametitle{Gtranslator}\framesubtitle{Softwares de tradução}
% descrição, logo, screenshot
  \begin{figure}
  \includegraphics[scale=1.2]{img/gtranslator.png}
  \caption{Gtranslator - Editor de Arquivos de Tradução}
  \end{figure}

  Suíte de edição de arquivos de tradução para localização de aplicativos e bibliotecas.

  \medskip

  \begin{description}
    \item[website] \url{http://gtranslator.sourceforge.net/}
    \item[autor] Fatih Demir [kabalak@kabalak.net] (Fundador), hoje com outros desenvolvedores.
    \item[características] pode ser integrado com Open-Tran, possui atalho para inserção
    de palavras antes traduzidas.
  \end{description}
\end{frame}

\begin{frame}\frametitle{Qt Linguist}\framesubtitle{Softwares de tradução}
% descrição, logo, screenshot
\begin{figure}
  \includegraphics[scale=0.8]{img/qtlinguist.png}
  \caption{Qt Linguist - Editor de Arquivos de Tradução}
  \end{figure}

  Qt Linguist é uma ferramenta para edição de traduções para aplicações Qt.
  \begin{description}
  \item[website] \url{http://qt.nokia.com/products}
  \item[autor] Nokia Corporation
  \item[características] usado para tradução de arquivos \textbf{.ts} utilizados na plataforma Qt desenvolvida
  pela Nokia.
  \item[licença] GNU Lesser General Public License (LGPL)
  \end{description}

\end{frame}


\subsection{Ferramentas de tradução}
\begin{frame}\frametitle{Consulta on-line}\framesubtitle{Ferramentas de tradução}
  Para uma tradução nada melhor que consultar um dicionário, seja ele on-line
  ou off-line (livro). Existem duas ótimas ferramentas on-line, são elas:

  \begin{description}
    \item[Google Translate] \url{http://translate.google.com}
    \item[Open-Tran] \url{http://open-tran.eu}
  \end{description}

  Uma característica muito especial do Open-Tran é que ele tem um banco de palavras
  comumente utilizadas em traduções de vários aplicativos e ambientes, como GNOME,
  KDE, OpenOffice, Firefox, etc.

  Além disso, se você é programador é possível baixar o banco dados e fazer um
  aplicativo \textit{desktop}, por exemplo.
\end{frame}

\begin{frame}\frametitle{Trabalho em conjunto}\framesubtitle{Ferramentas de tradução}
% svn, code.google.com, git, github.com
  Trabalho em equipe demanda gerência, principalmente de código. Para isso o melhor
  a fazer é versionar seus arquivos. Há várias maneiras para fazer isso e sem o
  trabalho de administração usando servidores na internet. Dentre eles temos:

% TODO: procurar link para apostilas introdutórias de svn e git.
  \begin{description}
    \item[svn] No Google Code [\url{http://code.google.com}] é possível utilizar o
    \textbf{Subversion}, git, mercurial.
    \item[git] No GitHub [\url{http://github.com}] podemos usar o \textbf{git}. Rede
    Social para códigos-fonte livres.
  \end{description}
\end{frame}

\section{Dicas de tradução}

\subsection{Padrão de palavras e termos}
\begin{frame}\frametitle{Padrão de palavras e termos}\framesubtitle{Dicas de tradução}
% tentar manter padrão utilizado pela plataforma, ex. GNOME.
  Na tradução de aplicativos existem palavras e termos que são comuns e devem
  ser traduzidos sempre da mesma forma. Isso faz com que os aplicativos se tornem
  padronizados e fáceis de entender.

  É importante identificar essas palavras e termos e traduzí-los de maneira
  apropriada. Por exemplo, o termo \textbf{Clipboard} no GNOME é traduzido
  como \textbf{Área de Transferência}. Mais alguns:

  \begin{description}
    \item[Tray] Área de Notificação.
    \item[Copy/Paste/Cut] Copiar/Colar/Recortar
    \item[Spell Checker] Verificador Ortográfico
    \item[Search/Find] Pesquisar/Localizar
    \item[Undo/Redo] Desfazer/Refazer
  \end{description}
\end{frame}

\subsection{Diferenciar aplicativos}
\begin{frame}\frametitle{Diferenciar aplicativos}\framesubtitle{Dicas de tradução}
% tradução diferenciada de aplicativos voltados para programadores e usuários comuns
  Devemos ter cuidado na hora de traduzir aplicativos que são utilizados por
  programadores e por usuários. Certos termos técnicos são melhor entendidos
  pelo programador em inglês, por exemplo a palavra \texttt{log}.

  \medskip

  Temos também palavras que se tornaram i18n (internacionalizadas), como o termo
  \textbf{tweet}, introduzido pelo Twitter [\url{http://twitter.com}].

  \medskip

  Há também aplicativos muito específicos para um determinado público, como
  por exemplo aplicativos de áudio e vídeo. Se o aplicativo for simples, ou seja,
  voltado para um usuário comum, seus termos devem ser traduzidos de uma forma
  simples. Mas se for para um usuário avançado, devemos manter os termos como
  eles são utilizados no dia-a-dia.
\end{frame}

\subsection{Instalar o aplicativo}
\begin{frame}\frametitle{Instalar o aplicativo}\framesubtitle{Dicas de tradução}
  Instalar o aplicativo que você irá traduzir é essencial, ou posso dizer ainda
  obrigatório. Uma boa tradução requer mais que palavras traduzidas de forma correta,
  requer ainda \textbf{contexto}.

  \medskip

  Existe um comentário especial nos arquivos \textbf{.po} que inicia com \texttt{"\#."}.
  Isto indica o contexto da tradução. Quando se está traduzindo usando tanto o poedit
  ou Gtranslator é possível ver o contexto da tradução.
\end{frame}

\begin{frame}\frametitle{Instalar o aplicativo}\framesubtitle{Dicas de tradução}
  Um contexto bem conhecido é o \texttt{msgid} que indica o nome dos tradutores,
  normalmente é a String \texttt{translator-credits}. Para isso escreva o nome
  dos tradutores seguidos do e-mail e separados por $ \backslash $n. Ex.:
  \begin{exampleblock}{exemplo}
  \texttt{"Átila Camurça $ < $camurca.home@gmail.com$ >\backslash $n"\\
  "Darlildo Lima $ < $darlildo.cefetce@gmail.com$ > $"}
  \end{exampleblock}
\end{frame}

% \begin{frame}\frametitle{}\framesubtitle{}
% 
% \end{frame}